Encoding device for encoding a program and recording device

ABSTRACT

When a program of a certain duration is converted into compressed data (encoded), it is desirable for the total number of data to fit in an available data space, for example, when recorded on an information carrier. More particularly in variable bit rate compression such as a video signal via MPEG-2, this is hard to forecast. For this purpose, a recording device includes a compression unit whose bit rate is influenced by a system controller via a control input during the encoding process depending on the remaining part of the vacant data space on the information carrier and the remaining duration of the program. When parameters that influence the bit rate are set in the compression unit, the system controller will take the complexity of the program derived during a previously encoded part of the program into account. Furthermore, a separate encoding device receives time information and data space information. Also, the control of the bit rate of a compression unit depends on the time, data space and program complexity information.

FIELD OF THE INVENTION

The invention relates to the field of encoding program signals to provide compressed digital signals for the program.

The invention relates to an encoding device for encoding a signal, the signal representing a program of a predefined duration, and the encoding device comprising a compression unit for compressing the signal to digital data, and a system controller for controlling the compression unit for influencing the bit rate of the digital data for fitting the program in a data space which is available for the program depending on a remaining part of the data space and a remaining part of the duration established during encoding.

The invention further relates to a recording device for recording a signal on an information carrier, the signal representing a program of a predefined duration, the information carrier having a vacant data space available for recording the program, and the device including recording apparatus for recording a digital bit stream on the information carrier and apparatus for establishing the predefined duration.

The invention further relates to a method of encoding a signal that represents a program of a predefined duration, the signal being converted by a compression process into digital data with a bit rate influenced for fitting the program in a vacant data space which is available for the program, in which method a remaining part of the vacant memory space and a remaining part of the duration are determined during the encoding process and the bit rate is influenced by settings of the compression process depending on the remaining part of the vacant data space and the remaining part of the duration.

The invention further relates to an encoded signal obtained by implementing the method.

BACKGROUND OF THE INVENTION

Such an encoding device, recording device, method and encoded signal are known from EP-A 0584991. This document discloses a system for encoding video information in digital data for recording a video program having a known duration (such as a film) on a disc, such as a high density optical disc, for example, the so-termed DVD (Digital Video Disc). For this purpose, the system includes a an MPEG like video compression unit arranged for motion compensation, DCT (Discrete Cosine Transform), quantization and variable length coding, as is customary for MPEG. The controller of the compression unit is arranged for controlling the encoding of the video program so as to fit the program within an available data space on the disc. The data space available for storage on the disc is filled by attuning the bitrate of the coded video program to the available data space to achieve a high average picture quality. The target bitrate to be achieved is calculated from the available data space and the time to be recorded. The actual bitrate is monitored and if it deviates from the target bitrate the compression settings are adjusted. In the event of video material with a lot of activity, the applied settings will often result in a higher actual bitrate than the target bitrate. The compression settings will then be adjusted. However in the first part of the recording time with such video material a more than proportional amount of data space will be filled. Therefore an adjustment of the target bitrate during the further recording time will be required.

It is well known to provide structures to perform functions in a controller by programming the controller and to copy structures from the memory of one controller into the memory of another controller to program the other controller. Thus, a programmed controllers illustrated herein provide apparatus for programming another controller.

SUMMARY OF THE INVENTION

It is an object of the invention to provide apparatus for directly converting a supplied signal into compressed data, so that the total quantity of compressed data of a program that has a predefined duration fills as much as possible the available data space while the (subjective) quality during the program is substantially constant after reconstruction by decompression of the compressed data.

For this purpose, the encoding device according to the invention is characterized in that the system controller is arranged for setting the compression unit depending on a program complexity of the actual program.

For this purpose, a recording device according to the invention includes such an encoding device.

The method according to the invention is characterized in that the compression process is set depending on a program complexity of the actual program.

By implementing these measures the actual bitrate will be vary less throughout the recording time. This is advantageous in that the subjective quality for the user will be more constant. By taking the complexity into account it will be prevented that, when encoding a complex program, the first part uses more than half of the available bits, while the second part needs to be compressed heavily to fit in the remaining data space; while for less than average complex material the opposite (a first part unnecessarily compressed and the second part having abundant space available) is prevented. A further advantage is that, the measures avoid the last minutes of a program being heavily compressed because the available data space has almost been fully used, because more compressed data than average is generated for a selected quality for the respective program.

A further embodiment for the encoding device according to the invention is characterized in that the system controller is arranged for determining the program complexity depending on an actual bit rate during a previously encoded part of the program. This is advantageous in that the complexity of the program is determined from the actual program characteristics during an early part of the recording time and is used subsequently.

A further embodiment for the encoding device according to the invention is characterized in that system controller is arranged for establishing the program complexity depending on peaks and valleys or variation of the actual bit rate during a previously encoded part of the program. This is advantageous in that they complexity is determined not only from the actual average bitrate, but also from further properties, which allows a more accurate prediction of the compression settings.

A further embodiment for the encoding device according to the invention is characterized in that the system controller is arranged for establishing the program complexity depending on a program type. This is advantageous in that the influencing of the bit rate is effected from the start of the recording time, as the average complexity of such a program is known from the program type.

A further embodiment for the encoding device according to the invention is characterized in that the system controller is arranged for determining the duration depending on an expected duration of the program and a margin for levelling peaks in the bit rate in a last part of the program and/or for the program overrunning its time. By adding a margin to the expected duration and using this total duration for influencing the bit rate, space is available for storing more data than expected. This is advantageous in that, for example, in a complex final scene in a video program, the bit rate need not be restricted unproportionally and in that sufficient data space remains available even if the program slightly overruns its time.

Those skilled in the art will understand the invention and additional objects and advantages of the invention by studying the description of preferred embodiments below with reference to the following drawings which illustrate the features of the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects of the invention will be apparent from and elucidated with reference to the FIGS. 1 to 4, in which

FIG. 1 shows an information carrier of a rewritable type,

FIG. 2 shows an encoding device,

FIG. 3 shows a compression unit, and

FIG. 4 shows a recording device.

In the drawings Figures, elements corresponding to those already described carry like reference characters.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a disc-shaped information carrier 1 of a rewritable type such as, for example, a CD-E (Compact Disc Erasable). The information carrier has a track 9 intended for recording, which is arranged in a helical pattern of windings. The windings may also be arranged concentrically instead of helically. The track 9 is indicated on the information carrier by a servo pattern in which, for example, a pregroove enables a read/write head to follow the track 9 during the scanning. Furthermore, the servo pattern may contain information about the position along the track such as, for example, a time indication from the beginning of the track. The information carrier comprises a pick-up layer which can be inscribed optically or magneto-optically by a device for recording information blocks in the form of patterns of marks. The CD-E may have, for example, a pick-up layer of phase change material. A description of the recording and reading of a CD and the use of a track and pregroove may be found in the title Principles of optical disc systems” by Bouwhuis et al. ISBN 0-85274-785-3.

FIG. 2 shows an encoding device according to the invention. The device includes a compression unit 22 which converts a signal fed through an input 21 into an encoded signal available on an output 23. The compression unit 22 is of a customary type, such as, for example, MPEG-2 for video signals according to ISO/IEC 13818-2 or for audio signals according to ISO/IEC 13818-3. The encoded signal contains digital data having a bit rate that can be set via a control input 26. Furthermore, the encoding device also includes a system controller 25 for controlling the encoding process. The system controller is coupled to the control input 26 of the compression unit 22 and sets the compression unit to a desired bit rate through this control input. Information relating to the duration of a program to be encoded is available for the system controller 25 via a time input 24, and information relating to the data space via a data space input 27. The time information is, for example, a start and end time of a program to be set by a user, or the duration of the program. The system controller calculates from this information the data space available for the encoded signal and sets the bit rate via the control input 26 so that the program is expected to fill the available data space completely. For example, the available data space is divided by the required duration, which duration is derived from the time information presented through the time input. This results in a bit rate (bits per second) at which the available data space will be completely filled with a program to be encoded. This bit rate is then under the given circumstances the maximum possible average bit rate at which the best possible reconstruction of the program is feasible on reproduction and at which the picture quality during the program is substantially constant. The system controller includes structures 51 and 52 for adapting the settings of the compression unit depending on time information and/or data space information respectively which is available during the encoding process. During the encoding process, the remaining time duration is found, for example, by establishing the elapsed time with a timer or the difference between an entered end time and the actual time of a clock. The remaining data space is determined by the system controller on the basis of the information from the data space input 27, for example, on the basis of address information of the part already used of the available data space. According to the invention the system controller includes structure 53 to establish a program complexity as described below. The program complexity will be used to control the settings of the compression unit, so as, to set a higher compression for a more complex program. If modified information relating to an altered duration of the program or to a modified available data space is applied to the system controller during the encoding process, the system controller will compute a new value for the bit rate and set same. This may occur, for example, if the program is to be recorded on a tape-like information carrier via a tape recording device and the measurement of the remaining available tape length at the start of the recording process is only known in an approximation. During the recording, the remaining tape length may be computed more accurately by the tape recording device and the bit rate may be changed accordingly. It is also possible for the duration of the program to be adapted, for example, in that the user of the system enters a new end time of the program during the recording.

In a compression unit having a constant bit rate, the bit rate may be set to the computed value at the start of the program; a compression unit having a variable bit rate may be set such that a desired average bit rate will be obtained while the total quantity of data will fit in the data space. A variable bit rate compression unit is arranged for varying the bit rate depending on the contents of the signal. This is advantageous in that a (subjectively) higher, substantially constant quality of a reconstructed signal is obtained because more compressed data are generated for parts of the signal that are hard to compress, while the quantity of data generated on average continues to be restricted.

FIG. 3 gives a diagrammatic representation of a compression unit for video information as is customary for MPEG-2 and known from ISO/IEC-13818-2. A digital video signal is applied to input 21 and directed to a DCT unit 32 via a difference unit 31 which DCT unit 32 performs a Discrete Cosine Transform which divides the picture into macroblocks. The coefficients obtained are led to a Q-unit 33 and quantized with a variable dividing factor in which operation the bits of the quotient are processed, whereas the rest is discarded. The quotient bits are led to the VLC unit 34 which encodes the quotients with a variable length. In this manner, an encoded picture signal having a variable bit rate arises on output 23. The average bit rate may be influenced by a controller 39, for example, by setting the dividing factor in the Q-unit so that a larger dividing factor results in a lower bit rate. Customary dividers lie between 2 and 16. A further reduction of the bit rate necessary for a certain picture quality is obtained by transmitting groups of pictures (GOP), in which an independent I-picture is followed by several difference pictures such as, forward forecast P-pictures or bidirectional forecast B-pictures. The controller 39 decides on the basis of the activity in the presented pictures, what type is generated. FIG. 3 diagrammatically shows a switch 38 operated by the controller 39 which does not pass any information for an I-picture and does pass the stored information of a reconstructed picture based on the encoded signal for a P-picture. The difference picture is then determined in difference unit 31 for which motion compensation can also be used. A reconstructed picture, as is also formed in a receiving device, is formed via the IQ-unit (Inverse Quantization), the IDCT unit (Inverse Discrete Cosine Transform) in a picture memory 37. By the choice of I, B and P-pictures, the controller 39 has a further influence on the bit rate. A suitable criterion in this respect is, for example, the maximum instantaneous bit rate which is to be lower than the transmission capacity of the transport channel and a short-term average, which is to remain so low as not to exceed the buffer capacity in a receiving device.

In such a compression unit which has a variable bit rate, the quantity of generated data depends on the contents of the presented signal. If the total quantity of generated data is the same, a higher average quality of the reconstructed signal is obtained than in a system that has a constant bit rate. According to the invention, the average bit rate can be controlled by setting parameters via the control input 26 of the controller 39. The long-term average bit rate is influenced via this control input 26, for example, in that the controller adapts the dividing factor or the choice of I/P/B pictures. Alternatively, a certain preprocessing (not shown in FIG. 3) may be used, such as noise filtering or spatial frequency content reduction, in which the filter parameters may be adapted to influence the bit rate. The encoder device will set the long-term average bit rate so that the program is expected to fill the available data space completely. Admittedly, the average bit rate of the variable bit rate compression unit may be influenced via the control input 26, but the actually generated bit quantity also depends on the actual picture content. In consequence, it is desired to calculate periodically the remaining data space, for example, by measuring the quantity of generated data and reducing the originally available data space by this quantity. New settings are thus constantly calculated in the compression unit.

When parameters in a variable bit rate compression units are pre set, the encoding may start from the expected the average bit rate. However, during the encoding process it is attractive to take into account of the average bit rate that actually occurred during the previously encoded part of the program. This actual bitrate results from the complexity of the program, i.e. the general characteristics of the picture contents requiring an average bitrate of the actual program compressed at a predefined setting of the compression unit to achieve a predefined level of picture quality after decompression. Indeed, may be expected that if in a first part of a program a certain bit rate has already been generated with a certain setting of the parameters, the bit rate to be expected in a next part of the same program will be correlated therewith. The complexity of the signal contents will generally be comparable during the program, so that a better forecast of the expected bit rate later in the program is possible by taking the previously occurring bit rate relative to the used settings of the compression unit into account. The complexity calculation may be derived from a running average over a certain length of time or an average over the total of the previously encoded part, while also taking into account the variation, peaks and valleys or a variance of the bit rate for which a higher bit rate may be used in the event of a large irregularity. In a further embodiment the complexity information of program types is provided in the system controller, e.g. in a table in a memory 50. A general average bit rate over a large number of programs for a number of program types may be established beforehand or during previous encoding sessions, such as “sport” (high complexity) or “talk show” (low complexity). The program type may be known to the source of the program to be encoded, may be indicated in the signal or may be entered by the user. The system controller can use the complexity information from the memory or there may be calculated a weighted average of the bit rate that actually occurs and the complexity information from the memory.

FIG. 4 shows a recording device according to the invention for recording the disc-shaped information carrier 1. The device includes a compression unit 22 and a read/write unit 41 and a read/write head 42 for recording information on the information carrier 1. Information is fed through input 21 and converted in the compression unit 22 into an encoded signal which is subsequently converted into a write signal in the read/write unit 41. The write signal is coupled to the read/write head 42. The information carrier 1 rotates driven by driving apparatus 44 which in turn is controlled via a motor signal 43 by the herein patterns of marks that represent the information such as, for example, with the CD. Information read out and relating to the data space is applied to the system controller 45 by a signal bus 46. During the scanning operation, the read/write head 42 is positioned over the track 9 by a servo system of a customary type (not shown). The system controller 45 checks the scanning of the information carrier 1 via the driving means 44 and the servo system. After an information carrier 1 has been inserted into the device, the system controller 45 reads via the read/write head 42 and the read/write unit 41 directory information from the information carrier which directory information is indicative of the available data space. If part of the information carrier has already been recorded previously, this part may be maintained or at the user's command be released for a new recording. If the information carrier as a whole is available, the size of the data space may also be derived from the type of the information carrier, for example, indicated on a separate position on the information carrier by a bar code. It is also possible, for information relating to the data space to be contained in a servo pattern already introduced on the information carrier during manufacture, for example, in a wobble of a pregroove on a CD Recordable. The information relating to the duration is fed through time input 24 as is customary, for example, in a video recorder for entering start and end times of a program to be recorded. The system controller 45 may add a margin to the duration information thus fed, to level off peaks in the bit rate in a last part of the program and/or for the program overrunning its time. By adding a margin to the expected duration and using this total duration for influencing the bit rate, space is available for storing more data than expected. For example, in a complex final scene in the last minute of a video program, the bit rate would have to be unproportionally restricted if not more than exactly the space for an average last minute is available. The overrunning of time of a program may be announced, for example, by the respective source, such as, for example, via the PDC (Program Delivery Code) system in which a television transmitter co-transmits via the transmitted signal time information relating to altered start and end times.

The invention may likewise be applied to rewritable information carriers of a different type from the disc-shaped type such as, for example, optical or magnetic tape, which can be written linearly or via helical scan. For implementing the invention, it must be possible to determine the available data space. At leas the beginning of the empty space and the length thereof or the end are to be determined by a recording device. Alternatively, the user may indicate a certain free area. During the encoding process, the encoding device itself can update the generated quantity of data and therefore knows the remaining empty space. On the disc-shaped information carrier, such as a CD or a magnetic hard disk, the data space may be derived from address information. The invention may also be applied to information carriers on which the position along the track is established differently, such as, for example, via patterns or an auxiliary track previously recorded on the information carrier.

Information carriers of this type include a part intended for being recorded and having a specific data storage capacity. This data storage capacity may be available fully or in part for storing a program. The quantity of data that may still be recorded on the carrier also depends on the data previously recorded (in so far as it has to be saved). On some information carriers, for example the CD-E, the total data space is known per type. In certain recording systems Table Of Contents (TOC) or Directory (for example, according to ISO 9660) is recorded on the information carrier, that indicates the space that is still left for storing data. With respect to tape-like information carriers, the data space available for data storage may also be derived from the total tape length and/or the position of previously recorded programs.

In lieu of directly being recorded, the encoded signal may be distributed via other media, such as a network or satellite broadcast. In that case too it may be important to keep the total quantity of encoded data of a program within a predefined maximum for which the encoding device according to the invention is then used. For the respective distribution media it is then advantageous that the total required transmission capacity continues to be within predefined boundaries.

The invention has been disclosed with reference to specific preferred embodiments, to enable those skilled in the art to make and use the invention, and to describe the best mode contemplated for carrying out the invention. Those skilled in the art may modify or add to these embodiments or provide other embodiments without departing from the spirit of the invention. Thus, the scope of the invention is only limited by the following claims: 

What is claimed is:
 1. An encoding device comprising: a compression unit for encoding a signal representing a program of a predefined duration into compressed digital data with a variable bit rate; and system controller means for controlling the compression unit for adjusting during the encoding the bit rate of the digital data for fitting the program in a predetermined data space which is available for the program depending on: a remaining part of the data space determined during the encoding, a remaining part of the duration of the program determined during the encoding, and a complexity of at least a part of the program; and in which the system controller means determine the program complexity depending on the bit rate of the digital data during a previously encoded part of the program.
 2. An encoding device comprising: a compression unit for encoding a signal representing a program of a predefined duration into compressed digital data with a variable bit rate; and system controller means for controlling the compression unit for adjusting the bit rate during the encoding of the digital data for fitting the program in a predetermined data space which is available for the program depending on: the size of the available data space, the duration of the program, and the complexity of at least a part of the program; and in which the system controller means determine the program complexity depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program.
 3. An encoding device, comprising: a compression unit for encoding a signal representing a program of a predefined duration into compressed digital data with a variable bit rate; and system controller means for controlling the compression unit for adjusting the bit rate during the encoding of the digital data for fitting the program in a predetermined data space which is available for the program depending on: the size of the data space, the duration of the program, and the complexity of at least a part of the program; and in which the system controller means determine the program complexity depending on a program type.
 4. An encoding device, comprising: a compression unit for encoding a signal representing a program of a predefined duration into compressed digital data with a variable bit rate; and system controller means for controlling the compression unit for influencing the bit rate during the encoding of the digital data for fitting the program in a predetermined data space which is available for the program depending on: the size of the data space, the duration of the program, and the complexity of at least a part of the program; and in which the system controller means determine the duration depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predefined duration.
 5. A recording device comprising: recording means for recording digital data on an information carrier having a predetermined data space available for recording; a compression unit for encoding a signal representing a program of a predefined duration into the digital data; and system controller means for controlling the compression unit for adjusting during the encoding, the bit rate of the digital data for fitting the program in the data space depending on: a remaining part of the data space determined during the encoding; a remaining part of the duration determined during encoding; and a complexity of at least a part of the program; and in which the system controller means determine the program complexity depending on the bit rate of the digital data during a previously encoded part of the program.
 6. A method of encoding comprising the steps of: receiving a signal that represents a program of a predefined duration; encoding to convert the signal into compressed digital data with a bit rate influenced for fitting the program into a predetermined data space which is available for the program; determining a remaining part of the memory space during the compression process; determining a remaining part of the duration during the compression process; and adjusting settings of the compression process for adjusting during the encoding the bit rate depending on: the remaining part of the data space determined during encoding, the remaining part of the duration determined during encoding, and a complexity of at least a part of the program, wherein the program complexity is determined depending on the bit rate of the digital data during a previously encoded part of the program.
 7. A method of encoding comprising the steps of: receiving a signal that represents a program of a predefined duration; determining the duration of the program; determining the data space available for the program; encoding to convert the signal into a compressed digital data; and adjusting settings of the compression process depending on: the duration of the program, the available data space, and the complexity of at least a part of the program, and in which the program complexity is determined depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program.
 8. A method, comprising: receiving a signal that represents a program of a predefined duration; determining the duration of the program; determining the data space available for the program; encoding to convert the signal into a compressed digital data; and adjusting settings of the compression process depending on: the duration of the program, the available data space, and the complexity of at least a part of the program, and in which the program complexity is determined depending on a program type.
 9. A method, comprising: receiving a signal that represents a program of a predefined duration; determining the duration of the program; determining the data space available for the program; encoding to convert the signal into compressed digital data; adjusting settings of the compression process depending on: the predetermined data space, the predefined duration, and a complexity of at least a part of the program, the part at least at times extending for more than one macro block, in which the duration is determined depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predefined duration.
 10. An encoded signal produced by the method of claim
 6. 11. Computer media containing the encoded signal of claim
 10. 12. Apparatus for programming a programmable controller to provide programmed structures to control a compression unit to influence a bit rate of a video program of predefined duration, comprising: means for providing programmed structures for adjusting the bit rate of the digital data for fitting the video program in a predetermined data space which is available for the video program depending on a remaining part of the data space; means for providing programmed structures for determining a program complexity depending on the bit rate of the digital data during a previously encoded part of the video program; and means for providing programmed structures for adjusting curing the encoding the bit rate of the digital data for fitting the video program in the data space depending on: a remaining part of the duration determined during encoding, a remaining part of the data space determined during encoding, and the complexity of at least the part of the video program.
 13. An encoding device comprising: a compression unit for encoding a signal representing a program of a predefined duration into compressed digital data with a variable bit rate; system controller means for controlling the compression unit for adjusting during the encoding the bit rate of the digital data for fitting the program in a predetermined data space which is available for the program depending on: a remaining part of the data space determined during the encoding, a remaining part of the duration of the program determined during the encoding, and a complexity of at least a part of the program; and wherein: the part of the program at least at times extends for more than one macro block; the part of the program at least at times extends for more than one picture; the part of the program at least at times extends for more than one group of pictures; the part of the program extends at least from the beginning of the program to the part of the program currently being encoded; the program complexity is determined depending on the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on a program type; the remaining part of the duration is determined depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predetermined duration.
 14. A recording device comprising: recording means for recording a digital bit stream on the information carrier having a predetermined data space available for recording, including: a compression unit for encoding a signal representing a program of a predefined duration into digital data; and system controller means for controlling the compression unit for adjusting during the encoding the bit rate of the digital data for fitting the program in the data space depending on: a remaining part of the data space determined during the encoding; a remaining part of the duration determined during encoding; and a complexity of at least a part of the program, the part at least at times extending for more than one macro block; and means for determining the predefined duration; and wherein: the part of the program at least at times extends for more than one macro block; the part of the program at least at times extends for more than one picture; the part of the program at least at times extends for more than one group of pictures; the part of the program extends at least from the beginning of the program to the part of the program currently being encoded; the program complexity is determined depending on the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on a program type; the remaining part of the duration is determined depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predetermined duration.
 15. A method of encoding comprising the steps of: receiving a signal that represents a program of a predefined duration; encoding to convert the signal into compressed digital data with a bit rate influenced for fitting the program in a predetermined data space which is available for the program; determining a remaining part of the memory space during the compression process; determining a remaining part of the duration during the compression process; adjusting settings of the compression process for adjusting during the encoding the bit rate depending on: the remaining part of the data space determined during encoding, the remaining part of the duration determined during encoding, and a complexity of at least a part of the program; and wherein: the part of the program at least at times extends for more than one macro block; the part of the program at least at times extends for more than one picture; the part of the program at least at times extends for more than one group of pictures; the part of the program extends at least from the beginning of the program to the part of the program currently being encoded; the program complexity is determined depending on the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on a program type; and the remaining part of the duration is determined depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predetermined duration.
 16. An encoded signal produced by the method of encoding of claim
 15. 17. Computer media comprising the encoded signal of claim
 16. 18. Apparatus for programming a programmable controller to provide programmed structures to control a compression unit to influence a bit rate of a program of predefined duration, comprising: means for providing programmed structures for adjusting the bit rate of the digital data for fitting the program in a predetermined data space which is available for the program depending on a remaining pat of the data space; means for providing programmed structures for adjusting during the encoding the bit rate of the digital data for fitting the program in the data space depending on: a remaining part of the duration determined during encoding, a remaining part of the data space determined during encoding, and a complexity of at least a part of the program; and wherein: the part of the program at least at times extends for more than one picture; the part of the program at least at times extends for more than one group of pictures; the part of the program extends at least from the beginning of the program to the part of the program currently being encoded; the program complexity is determined depending on the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program; the program complexity is determined depending on a program type; and the remaining part of the duration is determined depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predetermined duration.
 19. A recording device comprising: recording means for recording digital data on an information carrier having a predetermined data space available for recording; a compression unit for encoding a signal represented a program of a predefined duration into the digital data; and system controller means for controlling the compression unit for adjusting during the encoding, the bit rate of the digital data for fitting the program in the data space depending on: a remaining part of the data space determined during the encoding; a remaining part of the duration determined during encoding; and a complexity of at least a part of the program; and in which the system controller means determine the program complexity depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program.
 20. A recording device comprising: recording means for recording digital data on an information carrier having a predetermined data space available for recording; a compression unit for encoding a signal represented a program of a predefined duration into the digital data; and system controller means for controlling the compression unit for adjusting during the encoding, the bit rate of the digital data for fitting the program in the data space depending on: a remaining part of the data space determined during the encoding; a remaining part of the duration determined during encoding; and a complexity of at least a part of the program; and in which the system controller means determine the program complexity depending on a program type.
 21. A recording device comprising: recording means for recording digital data on an information carrier having a predetermined data space available for recording; a compression unit for encoding a signal represented a program of a predefined duration into the digital data; and system controller means for controlling the compression unit for adjusting during the encoding, the bit rate of the digital data for fitting the program in the data space depending on: a remaining part of the data space determined during the encoding; a remaining part of the duration determined during encoding; and a complexity of at least a part of the program; and in which the system controller means determine the program depending on an expected duration of the program and a margin for leveling off peaks in the bit rate in a last part of the program and/or for the program overrunning its predefined duration.
 22. An encoded signal produced by the method of claim
 7. 23. Computer media containing the encoded signal of claim
 22. 24. An encoded signal produced by the method of claim
 8. 25. Computer media containing the encoded signal of claim
 24. 26. An encoded signal produced by the method of claim
 9. 27. Computer media containing the encoded signal of claim
 26. 28. Apparatus for programming a programmable controller to provide programmed structures to control a compression unit to influence a bit rate of a video program of predefined duration comprising: means for providing programmed structures for adjusting the bit rate of the digital data for fitting the video program in a predetermined data space which is available for the video program depending on a remaining part of the data space; means for providing programmed structures for determining the complexity of at least a part of the video program depending on peaks and valleys or variation of the bit rate of the digital data during a previously encoded part of the program; and means for providing programmed structures for adjusting during the encoding the bit rate of the digital data for fitting the video program in the data space depending on: a remaining part of the duration determined during encoding, a remaining part of the data space determined during encoding, and the complexity of at least the part of the video program.
 29. Apparatus for programming a programmable controller to provide programmed structures to control a compression unit to influence a bit rate of a video program of predefined duration comprising: means for providing programmed structures for adjusting the bit rate of the digital data for fitting the video program in a predetermined data space which is available for the video program depending on a remaining part of the data space; means for providing programmed structures for determining the duration of the video program depending on a video program type; and means for providing programmed structures for adjusting during the encoding the bit rate of the digital data for fitting the video program in the data space depending on: a remaining part of the duration determined during encoding, a remaining part of the data space determined during encoding, and a complexity of at least a part of the video program.
 30. Apparatus for programming a programmable controller to provide programmed structures to control a compression unit to influence a bit rate of a video program of predefined duration, comprising: means for providing programmed structures for adjusting the bit rate of the digital data for fitting the video program in a predetermined data space which is available for the video program depending on a remaining part of the data space; means for providing programmed structures for determining the duration of the video program depending on an expected duration of the video program and a margin for leveling off peaks in the bit rate in a last part of the video program and/or for the video program overrunning its predefined duration; and means for providing programmed structures for adjusting during the encoding the bit rate of the digital data for fitting the video program in the data space depending on: a remaining part of the duration determined during encoding, a remaining part of the data space determined during encoding, and a complexity of at least a part of the video program. 